<!DOCTYPE html><html lang="en" data-theme="light"><head><meta charset="UTF-8"><meta name="referrer" content="no-referrer"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>Welcome,Guys,Join Me for the AIminminAI Episode!</title><meta name="author" content="Hu hb"><meta name="copyright" content="Hu hb"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta property="og:type" content="website">
<meta property="og:title" content="Welcome,Guys,Join Me for the AIminminAI Episode!">
<meta property="og:url" content="https://aiminminai.gitee.io/aiminminai/index.html">
<meta property="og:site_name" content="Welcome,Guys,Join Me for the AIminminAI Episode!">
<meta property="og:locale" content="en_US">
<meta property="og:image" content="https://aiminminai.gitee.io/aiminminai/img/avatar.jpg">
<meta property="article:author" content="Hu hb">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://aiminminai.gitee.io/aiminminai/img/avatar.jpg"><link rel="shortcut icon" href="/aiminminai/img/favicon.png"><link rel="canonical" href="https://aiminminai.gitee.io/aiminminai/index.html"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//fonts.googleapis.com" crossorigin=""/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/aiminminai/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Titillium+Web&amp;display=swap" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
  root: '/aiminminai/',
  algolia: undefined,
  localSearch: undefined,
  translate: undefined,
  noticeOutdate: undefined,
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
  copy: {
    success: 'Copy successfully',
    error: 'Copy error',
    noSupport: 'The browser does not support'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: 'days',
  dateSuffix: {
    just: 'Just',
    min: 'minutes ago',
    hour: 'hours ago',
    day: 'days ago',
    month: 'months ago'
  },
  copyright: {"limitCount":50,"languages":{"author":"Author: Hu hb","link":"Link: ","source":"Source: Welcome,Guys,Join Me for the AIminminAI Episode!","info":"Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source."}},
  lightbox: 'fancybox',
  Snackbar: undefined,
  source: {
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css'
    }
  },
  isPhotoFigcaption: false,
  islazyload: false,
  isAnchor: false,
  percent: {
    toc: true,
    rightside: true,
  },
  autoDarkmode: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
  title: 'Welcome,Guys,Join Me for the AIminminAI Episode!',
  isPost: false,
  isHome: true,
  isHighlightShrink: true,
  isToc: false,
  postUpdate: '2024-03-28 23:54:04'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(win=>{
    win.saveToLocal = {
      set: function setWithExpiry(key, value, ttl) {
        if (ttl === 0) return
        const now = new Date()
        const expiryDay = ttl * 86400000
        const item = {
          value: value,
          expiry: now.getTime() + expiryDay,
        }
        localStorage.setItem(key, JSON.stringify(item))
      },

      get: function getWithExpiry(key) {
        const itemStr = localStorage.getItem(key)

        if (!itemStr) {
          return undefined
        }
        const item = JSON.parse(itemStr)
        const now = new Date()

        if (now.getTime() > item.expiry) {
          localStorage.removeItem(key)
          return undefined
        }
        return item.value
      }
    }
  
    win.getScript = url => new Promise((resolve, reject) => {
      const script = document.createElement('script')
      script.src = url
      script.async = true
      script.onerror = reject
      script.onload = script.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        script.onload = script.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(script)
    })
  
    win.getCSS = (url,id = false) => new Promise((resolve, reject) => {
      const link = document.createElement('link')
      link.rel = 'stylesheet'
      link.href = url
      if (id) link.id = id
      link.onerror = reject
      link.onload = link.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        link.onload = link.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(link)
    })
  
      win.activateDarkMode = function () {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      win.activateLightMode = function () {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }
      const t = saveToLocal.get('theme')
    
          if (t === 'dark') activateDarkMode()
          else if (t === 'light') activateLightMode()
        
      const asideStatus = saveToLocal.get('aside-status')
      if (asideStatus !== undefined) {
        if (asideStatus === 'hide') {
          document.documentElement.classList.add('hide-aside')
        } else {
          document.documentElement.classList.remove('hide-aside')
        }
      }
    
    const detectApple = () => {
      if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
        document.documentElement.classList.add('apple')
      }
    }
    detectApple()
    })(window)</script><meta name="generator" content="Hexo 6.3.0"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/aiminminai/img/avatar.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/aiminminai/archives/"><div class="headline">Articles</div><div class="length-num">29</div></a><a href="/aiminminai/tags/"><div class="headline">Tags</div><div class="length-num">47</div></a><a href="/aiminminai/categories/"><div class="headline">Categories</div><div class="length-num">42</div></a></div><hr class="custom-hr"/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/aiminminai/"><i class="fa-fw fas fa-home"></i><span> Home(主页)</span></a></div><div class="menus_item"><a class="site-page" href="/aiminminai/archives/"><i class="fa-fw fas fa-archive"></i><span> Archives(那些年的知识归档)</span></a></div><div class="menus_item"><a class="site-page" href="/aiminminai/tags/"><i class="fa-fw fas fa-tags"></i><span> Tags(那些年的知识标签)</span></a></div><div class="menus_item"><a class="site-page" href="/aiminminai/categories/"><i class="fa-fw fas fa-folder-open"></i><span> Categories(那些年的工作经验)</span></a></div><div class="menus_item"><a class="site-page" href="/aiminminai/link/"><i class="fa-fw fas fa-link"></i><span> Link(那些年的八股)</span></a></div><div class="menus_item"><a class="site-page" href="/aiminminai/game/"><i class="fa-fw fas fa-heart"></i><span> Game Area(游戏专区，学&amp;玩)</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('/aiminminai/img/ShouYe.jpg')"><nav id="nav"><span id="blog-info"><a href="/aiminminai/" title="Welcome,Guys,Join Me for the AIminminAI Episode!"><span class="site-name">Welcome,Guys,Join Me for the AIminminAI Episode!</span></a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/aiminminai/"><i class="fa-fw fas fa-home"></i><span> Home(主页)</span></a></div><div class="menus_item"><a class="site-page" href="/aiminminai/archives/"><i class="fa-fw fas fa-archive"></i><span> Archives(那些年的知识归档)</span></a></div><div class="menus_item"><a class="site-page" href="/aiminminai/tags/"><i class="fa-fw fas fa-tags"></i><span> Tags(那些年的知识标签)</span></a></div><div class="menus_item"><a class="site-page" href="/aiminminai/categories/"><i class="fa-fw fas fa-folder-open"></i><span> Categories(那些年的工作经验)</span></a></div><div class="menus_item"><a class="site-page" href="/aiminminai/link/"><i class="fa-fw fas fa-link"></i><span> Link(那些年的八股)</span></a></div><div class="menus_item"><a class="site-page" href="/aiminminai/game/"><i class="fa-fw fas fa-heart"></i><span> Game Area(游戏专区，学&amp;玩)</span></a></div></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">Welcome,Guys,Join Me for the AIminminAI Episode!</h1><div id="site_social_icons"><a class="social-icon" href="mailto:min221forever@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a><a class="social-icon" href="https://github.com/YWMHHBAIminminAI" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="https://blog.csdn.net/m0_52436398?type=blog" target="_blank" title="CSDN"><i class="fa fa-book-open"></i></a><a class="social-icon" href="https://gitee.com/aiminminai" target="_blank" title="Gitee"><i class="fa fa-g"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/aiminminai/2024/03/28/%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E6%80%BB%E7%BB%93%E4%B9%8BC-%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AA%E4%B8%8A%E4%BD%8D%E6%9C%BA%E9%A1%B5%E9%9D%A2%EF%BC%8C%E8%BD%AF%E4%BB%B6%E5%8D%A1%E6%AD%BB%E4%BA%86%EF%BC%9F%EF%BC%9F%EF%BC%9F/" title="项目开发总结之C#写了一个上位机页面，软件卡死了？？？">项目开发总结之C#写了一个上位机页面，软件卡死了？？？</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-03-28T15:41:40.000Z" title="Created 2024-03-28 23:41:40">2024-03-28</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/aiminminai/categories/%E9%A1%B9%E7%9B%AE/">项目</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E7%BB%8F%E9%AA%8C/">项目开发经验</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E7%BB%8F%E9%AA%8C/C-%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AA%E4%B8%8A%E4%BD%8D%E6%9C%BA%E9%A1%B5%E9%9D%A2%EF%BC%8C%E8%BD%AF%E4%BB%B6%E5%8D%A1%E6%AD%BB%E4%BA%86%EF%BC%9F%EF%BC%9F%EF%BC%9F%EF%BC%8C%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%8C%E4%BD%A0%E4%BC%9A%E6%80%8E%E4%B9%88%E5%8A%9E/">C#写了一个上位机页面，软件卡死了？？？，怎么办，你会怎么办</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/aiminminai/tags/C-%E4%B8%8A%E4%BD%8D%E6%9C%BA%E8%BD%AF%E4%BB%B6-%E4%B8%8A%E4%BD%8D%E6%9C%BA%E9%A1%B5%E9%9D%A2%EF%BC%8C%E8%BD%AF%E4%BB%B6%E5%8D%A1%E6%AD%BB%E4%BA%86%EF%BC%9F%EF%BC%9F%EF%BC%9F/">C#上位机软件 - 上位机页面，软件卡死了？？？</a></span></div><div class="content">@TOC

前言刚进公司，需要学开发需要的新框架及现成框架，完成自己的需求。其中会遇到很多卡死等bug，Visual Studio每次执行到这个类中会进入执行catch、finally等，从而导致上位机软件卡死，总结一下，以供后面参考学习，查看。肯定大家都有一定差异啦，大家作为参考哦，与诸君共勉。
一、下面代码有bug，导致上位机软件一直卡1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162using ...using System.IO;namespace ....ChipFile&#123;    public class ChipxxxOEFile : ChipxxxOEFileBase    &#123;        public ChipxxxOEFile()            : base()        &#123; &#125;        #region 公共方法        pu ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/aiminminai/2024/03/27/Golang-web-http%E6%A1%86%E6%9E%B6/" title="Golang-web/http框架">Golang-web/http框架</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-03-27T15:27:12.000Z" title="Created 2024-03-27 23:27:12">2024-03-27</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/aiminminai/categories/Golang/">Golang</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/Golang/%E5%9F%BA%E6%9C%AC%E5%8A%9F/">基本功</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/Golang/%E5%9F%BA%E6%9C%AC%E5%8A%9F/web-http%E6%A1%86%E6%9E%B6/">web/http框架</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/aiminminai/tags/Code-Snippet/">Code Snippet</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/aiminminai/tags/VS%E5%B7%A5%E5%85%B7%E3%80%81%E6%8F%92%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8/">VS工具、插件的使用</a></span></div><div class="content">@TOC

前言云时代已经逐渐到来，在工作中学习中，我们时不时会用到Go语言，那就开始学起吧，与诸君共勉。
Go(lang)提供了很好的net&#x2F;http库，基于此再造框架比较简单快速，Go中常用的三个web框架【go所有的安装都是使用go get安装（类似于git-clone）】Gin
一个Gin框架的请求处理代码块固定格式：请求,处理请求的回调函数1234567891011121314151617package mainimport (   &quot;github.com/gin-gonic/gin&quot;   &quot;github.com/thinkerou/favicon&quot;   &quot;net/http&quot;)func main() &#123;   //创建一个gin服务，结合访问地址+端口处理咱们的请求与响应   ginServer := gin.Default()        ginServer.GET(&quot;/user/info&quot;, func(context *gin.Context)&#123;        . ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/aiminminai/2024/03/24/Golang-%E7%BB%83%E5%9F%BA%E6%9C%AC%E5%8A%9F%EF%BC%9A%E6%89%8E%E9%A9%AC%E6%AD%A5%E3%80%81%E7%BB%83%E6%8A%95%E7%AF%AE/" title="Golang-练基本功：扎马步、练投篮、练运球">Golang-练基本功：扎马步、练投篮、练运球</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-03-24T15:42:23.000Z" title="Created 2024-03-24 23:42:23">2024-03-24</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/aiminminai/categories/Golang/">Golang</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/Golang/%E5%9F%BA%E6%9C%AC%E5%8A%9F/">基本功</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/Golang/%E5%9F%BA%E6%9C%AC%E5%8A%9F/Golang%E7%9A%84%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95/">Golang的基本语法</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/aiminminai/tags/Code-Snippet/">Code Snippet</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/aiminminai/tags/VS%E5%B7%A5%E5%85%B7%E3%80%81%E6%8F%92%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8/">VS工具、插件的使用</a></span></div><div class="content">@TOC

前言云时代已经逐渐到来，在工作中学习中，我们时不时会用到Go语言，那就开始学起吧，与诸君共勉。
开发效率跟执行效率不能兼得比较
执行效率高，但是开发和编译低效：C++
执行效率低，但是编译效率高：.NET、Java
有较高执行速度、编译速度和开发速度：Go
Go1.5发布后，解决了广为诟病的GC时延问题【STM】，可以说Go语言在服务端开发方面，几乎抹平了所有弱点
Go是一个容器语言，是google29年发布的系统开发语言，基于编译、垃圾收集和并发的编程语言



Go的发展历程中的特殊点：
1.7的context
1.11的modules
1.13 的error嵌套
1.18:类型参数的实现，也就是俗称的泛型

基本语法：https://www.runoob.com/go/go-program-structure.html一个程序只能有一个main包，也得有一个main包。也就是说package main和func main必不可少变量
定义变量类型用:var，形式：var 变量名 变量类型1234567//定义单个变量：var 变量名 变量类型 = 符合类型的赋值内容/ ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/aiminminai/2024/03/15/%E8%83%BD%E4%B8%8D%E8%83%BD%E7%BB%99%E5%88%AB%E4%BA%BA%E4%B8%80%E4%B8%AA%E4%B8%8A%E6%89%8B%E5%B0%B1%E8%83%BD%E7%9C%8B%E6%87%82%E5%B0%B1%E8%83%BD%E7%94%A8%E7%9A%84%E4%B8%89%E5%B1%82%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%EF%BC%88%E4%BB%A3%E7%A0%81%EF%BC%89%E6%A8%A1%E5%9E%8B%E5%91%A2%EF%BC%9F/" title="能不能给别人一个上手就能看懂就能用的三层神经网络（代码）模型呢？">能不能给别人一个上手就能看懂就能用的三层神经网络（代码）模型呢？</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-03-14T16:23:21.000Z" title="Created 2024-03-15 00:23:21">2024-03-15</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/aiminminai/categories/%E4%BD%A0%E4%BC%9AJava%E3%80%81Go%E3%80%81C-%EF%BC%8Cso-what/">你会Java、Go、C#，so what!</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E4%BD%A0%E4%BC%9AJava%E3%80%81Go%E3%80%81C-%EF%BC%8Cso-what/AI-%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C-%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%EF%BC%8C%E4%BD%A0%E7%9F%A5%E9%81%93%E4%B8%8D/">AI/神经网络/深度学习，你知道不</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E4%BD%A0%E4%BC%9AJava%E3%80%81Go%E3%80%81C-%EF%BC%8Cso-what/AI-%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C-%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%EF%BC%8C%E4%BD%A0%E7%9F%A5%E9%81%93%E4%B8%8D/%E4%B8%89%E5%B1%82%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E6%A8%A1%E5%9E%8B/">三层神经网络模型</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/aiminminai/tags/%E4%B8%89%E5%B1%82%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E6%A8%A1%E5%9E%8B/">三层神经网络模型</a></span></div><div class="content">@TOC

前言在工作中学习中，最新AI、神经网络等比较实用，没啥事了解一点呗，又不掉血不掉肉的，那就开始学起吧，与诸君共勉。
1、封装成一个独立且易于使用的神经网络模型
为了将提供的代码片段，我们需要首先引入必要的库，然后定义所需的激活函数（如sigmoid函数和恒等函数），最后将init_network()和forward()函数整合到一个类或模块中。

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849//这段代码首先导入了numpy库来处理数学运算，接着定义了两个激活函数：sigmoid函数和恒等函数。然后，我们创建了一个名为`SimpleNeuralNetwork`的类，它包含了网络的初始化和前向传播过程。在类的构造函数中，我们初始化了网络参数。在`forward`方法中，我们实现了前向传播算法。import numpy as np# 定义sigmoid激活函数def sigmoid(x):    return 1 / (1 + np.exp(-x) ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/aiminminai/2024/02/28/%E6%89%93%E7%A0%B4%E7%A0%82%E9%94%85%E9%97%AE-WPF%E5%8E%9F%E7%90%86-03-WPF%E6%A0%B7%E5%BC%8F%E8%AE%BE%E7%BD%AE%E5%92%8C%E6%A8%A1%E6%9D%BF%E5%8C%96%E3%80%81%E5%86%85%E8%81%94%E6%A0%B7%E5%BC%8F%E5%92%8C%E6%A8%A1%E6%9D%BF/" title="打破砂锅问-WPF原理-03-WPF样式设置和模板化、内联样式和模板">打破砂锅问-WPF原理-03-WPF样式设置和模板化、内联样式和模板</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-02-28T15:10:28.000Z" title="Created 2024-02-28 23:10:28">2024-02-28</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/aiminminai/categories/%E5%8E%9F%E7%90%86%E4%B8%8E%E6%BA%90%E7%A0%81/">原理与源码</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E5%8E%9F%E7%90%86%E4%B8%8E%E6%BA%90%E7%A0%81/WPF%E5%8E%9F%E7%90%86%E6%8E%A2%E6%8E%A2%E6%8E%A2%EF%BC%88%E4%B8%80%EF%BC%89/">WPF原理探探探（一）</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E5%8E%9F%E7%90%86%E4%B8%8E%E6%BA%90%E7%A0%81/WPF%E5%8E%9F%E7%90%86%E6%8E%A2%E6%8E%A2%E6%8E%A2%EF%BC%88%E4%B8%80%EF%BC%89/WPF%E6%A0%B7%E5%BC%8F%E8%AE%BE%E7%BD%AE%E5%92%8C%E6%A8%A1%E6%9D%BF%E5%8C%96%E3%80%81%E5%86%85%E8%81%94%E6%A0%B7%E5%BC%8F%E5%92%8C%E6%A8%A1%E6%9D%BF/">WPF样式设置和模板化、内联样式和模板</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/aiminminai/tags/%E5%86%85%E8%81%94%E6%A0%B7%E5%BC%8F%E5%92%8C%E6%A8%A1%E6%9D%BF-Inline-styles-and-templates/">内联样式和模板 Inline styles and templates</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/aiminminai/tags/Windows-Presentation-Foundation-WPF-%E6%A0%B7%E5%BC%8F%E8%AE%BE%E7%BD%AE%E5%92%8C%E6%A8%A1%E6%9D%BF%E5%8C%96/">Windows Presentation Foundation (WPF) 样式设置和模板化</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/aiminminai/tags/%E4%B8%80%E8%88%AC%E7%9A%84-Windows-Presentation-Foundation-WPF-%E7%BC%96%E7%A8%8B%E6%A8%A1%E5%9E%8B%E5%8E%9F%E5%88%99-%E5%B0%86%E4%BB%A3%E7%A0%81%E4%B8%AD%E7%9A%84%E7%A8%8B%E5%BA%8F%E9%80%BB%E8%BE%91%E4%B8%8E%E6%A0%87%E8%AE%B0%E4%B8%AD%E7%9A%84%E8%AE%BE%E8%AE%A1%E5%88%86%E7%A6%BB/">一般的 Windows Presentation Foundation (WPF) 编程模型原则:将代码中的程序逻辑与标记中的设计分离</a></span></div><div class="content">@TOC

前言做项目的时候，用到了WPF，总结下来，供以后参考，与诸君共勉。
一、WPF中的复用精神：内联样式和模板 Inline styles and templates
Windows Presentation Foundation (WPF) 提供了 Style 对象和模板对象（FrameworkTemplate 子类）作为定义资源中元素的视觉外观的方法，以便  用户可以多次使用它们 。
因此， 采用 Style 和 FrameworkTemplate 类型的 XAML 中的属性几乎总是对现有样式和模板进行资源引用，而不是定义新的嵌入式样式和模板。 



1.嵌入式样式和模板的限制 Limitations of embedded styles and templates：
在 Extensible Application Markup Language (XAML) 中，样式和模板属性在技术上可通过两种方式进行设置
方式一：可以使用属性语法来引用已在资源中定义的样式
如 &lt;objectStyle&#x3D;”{StaticResourcemyResourceKey}”  ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/aiminminai/2024/02/27/%E6%89%93%E7%A0%B4%E7%A0%82%E9%94%85%E9%97%AE-WPF%E5%8E%9F%E7%90%86-02-WPF%E4%B8%AD%E7%9A%84XAML/" title="打破砂锅问-WPF原理-02-WPF中的XAML">打破砂锅问-WPF原理-02-WPF中的XAML</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-02-27T13:11:32.000Z" title="Created 2024-02-27 21:11:32">2024-02-27</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/aiminminai/categories/%E5%8E%9F%E7%90%86%E4%B8%8E%E6%BA%90%E7%A0%81/">原理与源码</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E5%8E%9F%E7%90%86%E4%B8%8E%E6%BA%90%E7%A0%81/WPF%E5%8E%9F%E7%90%86%E6%8E%A2%E6%8E%A2%E6%8E%A2%EF%BC%88%E4%B8%80%EF%BC%89/">WPF原理探探探（一）</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E5%8E%9F%E7%90%86%E4%B8%8E%E6%BA%90%E7%A0%81/WPF%E5%8E%9F%E7%90%86%E6%8E%A2%E6%8E%A2%E6%8E%A2%EF%BC%88%E4%B8%80%EF%BC%89/WPF%E4%B8%AD%E7%9A%84XAML/">WPF中的XAML</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/aiminminai/tags/WPF-%E4%B8%AD%E7%9A%84-XAML/">WPF 中的 XAML</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/aiminminai/tags/XAML-in-WPF/">XAML in WPF</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/aiminminai/tags/%E8%B7%AF%E7%94%B1%E3%80%81%E4%BA%8B%E4%BB%B6/">路由、事件</a></span></div><div class="content">@TOC

前言做项目的时候，用到了WPF，总结下来，供以后参考，与诸君共勉。
一、XAML (Extensible Application Markup Language)1.Extensible Application Markup Language (XAML) 是一种用于声明性应用程序编程的标记语言：
Windows Presentation Foundation (WPF) 实现 XAML 处理器实现并提供 XAML 语言支持,怎么理解呢，其实呀：
XAML 根元素和 XAML 命名空间 XAML root element and XAML namespace
一个 XAML 文件只能有一个根元素，这样才能同时作为格式正确的 XML 文件和有效的 XAML 文件。 
WPF 页的典型 XAML 文件的根元素，此根元素为 Page1234&lt;Page    xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;    xmlns:x=&quot;http://schemas.mi ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/aiminminai/2024/02/24/%E6%89%93%E7%A0%B4%E7%A0%82%E9%94%85%E9%97%AE-WPF%E5%8E%9F%E7%90%86-01-WPF%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/" title="打破砂锅问~WPF原理(01:WPF体系结构)">打破砂锅问~WPF原理(01:WPF体系结构)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-02-24T13:00:39.000Z" title="Created 2024-02-24 21:00:39">2024-02-24</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/aiminminai/categories/%E5%8E%9F%E7%90%86%E4%B8%8E%E6%BA%90%E7%A0%81/">原理与源码</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E5%8E%9F%E7%90%86%E4%B8%8E%E6%BA%90%E7%A0%81/WPF%E5%8E%9F%E7%90%86%E6%8E%A2%E6%8E%A2%E6%8E%A2%EF%BC%88%E4%B8%80%EF%BC%89/">WPF原理探探探（一）</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E5%8E%9F%E7%90%86%E4%B8%8E%E6%BA%90%E7%A0%81/WPF%E5%8E%9F%E7%90%86%E6%8E%A2%E6%8E%A2%E6%8E%A2%EF%BC%88%E4%B8%80%EF%BC%89/WPF%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/">WPF体系结构</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/aiminminai/tags/WPF%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/">WPF体系结构</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/aiminminai/tags/INotifyPropertyChanged/">INotifyPropertyChanged</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/aiminminai/tags/ICommand/">ICommand</a></span></div><div class="content">@TOC

前言做项目的时候，用到了WPF，总结下来，供以后参考，与诸君共勉。
一、Windows Presentation Foundation (WPF)1.先补个作业：
Windows Presentation Foundation (WPF) ，Windows呈现基础，是微软新发布的Vista操作系统的三个核心开发库之一，是微软推出的基于Windows Vista的用户界面框架，属于. NET Framework 3.0的一部分。

2.WPF 主要编程模型编写。
在WPF主要组件中：（PresentationFramework、PresentationCore 和 milcore）是 WPF 的主要代码部分
PresentationFramework
托管组件【托管代码就是执行过程交由运行时管理的代码， 在这种情况下，相关的运行时称为公共语言运行时 (CLR)，不管使用的是哪种实现（例如 Mono、.NET Framework 或 .NET Core&#x2F;.NET 5+）。 CLR 负责提取托管代码、将其编译成机器代码，然后执行它。 除此之外，运行时还提供多个重要服务， ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/aiminminai/2024/02/24/%E6%89%93%E7%A0%B4%E7%A0%82%E9%94%85%E9%97%AE-WPF%E5%8E%9F%E7%90%86/" title="打破砂锅问~WPF原理">打破砂锅问~WPF原理</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-02-23T16:12:23.000Z" title="Created 2024-02-24 00:12:23">2024-02-24</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/aiminminai/categories/%E5%8E%9F%E7%90%86%E4%B8%8E%E6%BA%90%E7%A0%81/">原理与源码</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E5%8E%9F%E7%90%86%E4%B8%8E%E6%BA%90%E7%A0%81/WPF%E5%8E%9F%E7%90%86%E6%8E%A2%E6%8E%A2%E6%8E%A2%EF%BC%88%E4%B8%80%EF%BC%89/">WPF原理探探探（一）</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E5%8E%9F%E7%90%86%E4%B8%8E%E6%BA%90%E7%A0%81/WPF%E5%8E%9F%E7%90%86%E6%8E%A2%E6%8E%A2%E6%8E%A2%EF%BC%88%E4%B8%80%EF%BC%89/%E7%90%86%E8%A7%A3%E5%92%8C%E7%BC%96%E5%86%99XAML%E3%80%81MVVM%EF%BC%88Model-View-ViewModel%EF%BC%89/">理解和编写XAML、MVVM（Model-View-ViewModel）</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/aiminminai/tags/INotifyPropertyChanged/">INotifyPropertyChanged</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/aiminminai/tags/ICommand/">ICommand</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/aiminminai/tags/WPF%E5%8E%9F%E7%90%86/">WPF原理</a></span></div><div class="content">@TOC

前言做项目的时候，用到了WPF，总结下来，供以后参考，与诸君共勉。
一、理解和编写WPF，离不开理解和编写XAML1.前端三剑客：HTML、CSS、JAVASCRIPT
HTML：标签语言嘛
XAML和html多少还是有点类似的。只不过XAML上添加上了自动binding机制

2.WPF两个核心：也是MVVM等一系列框架的基础，也就是两个重要的接口
INotifyPropertyChanged
INotifyPropertyChanged接口实现了数据和UI的联动，数据改变，UI界面随之改变。UI界面，数据改变随之改变
这个接口可以理解为监听，生成的Model后，通过ViewModel对Model所有相关者进行监听




ICommand

3.WPF其中一个比较常用的框架就是MVVM（Model-View-ViewModel）
组成部分：
Model：各个实体类
View：就是显示的界面，在WPF中一般都是XAML这样的页面
ViewModel：官方的解释是连接Model和View的桥梁，封装和暴露一些逻辑处理方法。但个人认为，其实所有的控制和方法都在ViewMode ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/aiminminai/2023/12/25/%E5%A6%82%E6%9E%9C%E6%8E%A7%E4%BB%B6%E8%A6%81%E6%98%BE%E7%A4%BA%E5%A5%87%E6%80%AA%E7%9A%84%E5%86%85%E5%AE%B9%EF%BC%8C%E8%BF%98%E8%A6%81%E7%BB%99%E4%B8%A4%E4%B8%AA%E5%9C%B0%E6%96%B9%E5%AD%98%E5%A5%87%E6%80%AA%E7%9A%84%E4%B8%9C%E8%A5%BF%EF%BC%8C%E6%80%8E%E4%B9%88%E5%8A%9E/" title="项目开发总结之如果控件要显示奇怪的内容，还要给两个地方存奇怪的东西，怎么办">项目开发总结之如果控件要显示奇怪的内容，还要给两个地方存奇怪的东西，怎么办</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2023-12-25T15:38:25.000Z" title="Created 2023-12-25 23:38:25">2023-12-25</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/aiminminai/categories/%E9%A1%B9%E7%9B%AE/">项目</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E7%BB%8F%E9%AA%8C/">项目开发经验</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E7%BB%8F%E9%AA%8C/%E5%A6%82%E6%9E%9C%E6%8E%A7%E4%BB%B6%E8%A6%81%E6%98%BE%E7%A4%BA%E5%A5%87%E6%80%AA%E7%9A%84%E5%86%85%E5%AE%B9%EF%BC%8C%E8%BF%98%E8%A6%81%E7%BB%99%E4%B8%A4%E4%B8%AA%E5%9C%B0%E6%96%B9%E5%AD%98%E5%A5%87%E6%80%AA%E7%9A%84%E4%B8%9C%E8%A5%BF%EF%BC%8C%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%8C%E4%BD%A0%E4%BC%9A%E6%80%8E%E4%B9%88%E5%8A%9E/">如果控件要显示奇怪的内容，还要给两个地方存奇怪的东西，怎么办，你会怎么办</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/aiminminai/tags/C-%E6%8E%A7%E4%BB%B6%E8%A6%81%E6%98%BE%E7%A4%BA%E5%A5%87%E6%80%AA%E7%9A%84%E4%B8%9C%E8%A5%BF-Combox-SelectedValue/">C#控件要显示奇怪的东西 - Combox.SelectedValue</a></span></div><div class="content">@TOC

前言刚进公司，需要学开发需要的新框架及现成框架，完成自己的需求。那么在此期间，碰到好的代码就要收集起来，【（一个Form页面有个控件要显示奇怪的内容，比如显示12-1、13-1，但是存到数据库的又得是12、13…，存到数据库的内容对应6个比特位，存到内存的又得是这六个比特位的值，你还得保证存到数据库的值和存到内存的比特位组合一致】，总结一下，以供后面参考学习，查看。肯定大家都有一定差异啦，大家作为参考哦，与诸君共勉。
芯片开发流程，前情回顾
一、需求：（一个Form页面需要显示一个值，通过需要分析，咱们能通过下拉框Combox展示这个值，以供用户选择并查看这个值1.需求进一步梳理：需求给的是二进制的与十进制的对应关系，000000对应11、000010对应12（模式1）、001000对应12（模式2)、001010对应13（模式1）、001011对应12（模式2)、…101010对应16（模式1）、111011对应16（模式2)，确定，二进制和十进制数是一一对应的，然后，开始：2.再页面上定义控件，比如你可以创建Form、UserController等，在上面玩呗12345 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/aiminminai/2023/12/24/%E5%A6%82%E6%9E%9C%E5%B0%86%E4%BB%A3%E7%A0%81%E5%86%99%E7%9A%84%E6%9B%B4%E5%81%A5%E5%A3%AE-02-%E7%BB%99%E4%BA%BA%E5%AE%B6%E8%B5%B7%E4%B8%AA%E5%A5%BD%E5%90%8D%E5%AD%97%E5%90%A7/" title="如何将代码写的更健壮(02)---给人家起个好名字吧">如何将代码写的更健壮(02)---给人家起个好名字吧</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2023-12-24T09:13:39.000Z" title="Created 2023-12-24 17:13:39">2023-12-24</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/aiminminai/categories/%E4%BD%A0%E4%BC%9AJava%E3%80%81Go%E3%80%81C-%EF%BC%8Cso-what/">你会Java、Go、C#，so what!</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E4%BD%A0%E4%BC%9AJava%E3%80%81Go%E3%80%81C-%EF%BC%8Cso-what/%E5%A6%82%E4%BD%95%E5%B0%86%E4%BB%A3%E7%A0%81%E5%86%99%E7%9A%84%E6%9B%B4%E5%81%A5%E5%A3%AE/">如何将代码写的更健壮</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/aiminminai/categories/%E4%BD%A0%E4%BC%9AJava%E3%80%81Go%E3%80%81C-%EF%BC%8Cso-what/%E5%A6%82%E4%BD%95%E5%B0%86%E4%BB%A3%E7%A0%81%E5%86%99%E7%9A%84%E6%9B%B4%E5%81%A5%E5%A3%AE/%E7%BB%99%E5%8F%98%E9%87%8F%E3%80%81%E5%B8%B8%E9%87%8F%E3%80%81%E6%96%B9%E6%B3%95-%E5%87%BD%E6%95%B0%E3%80%81%E7%B1%BB%E8%B5%B7%E4%B8%AA%E5%A5%BD%E5%90%8D%E5%AD%97%E5%90%A7/">给变量、常量、方法/函数、类起个好名字吧</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/aiminminai/tags/%E5%86%99%E5%B9%B2%E5%87%80%E4%BB%A3%E7%A0%81%E7%9A%84%E6%96%B9%E6%B3%95%E4%B8%8D%E6%AD%A2%E4%B8%80%E7%A7%8D/">写干净代码的方法不止一种</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="/aiminminai/tags/%E5%91%BD%E5%90%8D%E6%9C%89%E6%84%8F%E4%B9%89-%E5%A5%BD%E7%9A%84%E5%91%BD%E5%90%8D%EF%BC%8C%E5%8F%AF%E4%B8%8D%E6%98%AF%E5%91%BD%E5%90%8D%E8%B6%8A%E9%95%BF%E8%B6%8A%E5%A5%BD%E5%93%A6/">命名有意义 - 好的命名，可不是命名越长越好哦</a></span></div><div class="content">@TOC

前言在工作中学习中，如同学算法学四大基础夯实基础一样，咱们要不断考虑的是如何将代码写的更健壮，这个很重要，那就开始学起吧，与诸君共勉。
一、给变量、常量、方法&#x2F;函数、类起个好名字—–&gt;好的命名，可不是命名越长越好哦1.变量和常数【Variables &amp; Constants】
咱们常用变量及常数来存储用户等信息数据【用户的输入数据、某个页面上的控件返回的结果中渲染的数据、产品清单等】，那么经常用的名字，比如：
userData
userInputData
userLoginData
再比如，如果咱们用户群体之间无分别，那么咱们命名为user等是可以的，但是如果用户是有区别的，此时，咱们可以命名为AuthenticatedUser等，让每个阅读咱们代码的人都知道，此时操作的目标只是那些已经被认证过的用户。是不是稍微高效率了一点呢。


peterFamilyData
如果想显示某种特征，比如可以带上数据库，SqlXxx、MySqlXxx、RedisXxx…
peterTodayShopList  -isValid
比如，如果咱们可以是一个二进制的结果，那 ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span><a class="page-number" href="/aiminminai/page/2/#content-inner">2</a><a class="page-number" href="/aiminminai/page/3/#content-inner">3</a><a class="extend next" rel="next" href="/aiminminai/page/2/#content-inner"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="/aiminminai/img/avatar.jpg" onerror="this.onerror=null;this.src='/aiminminai/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">Hu hb</div><div class="author-info__description">寻寻觅觅，原来未来的你，在这里呀</div></div><div class="card-info-data site-data is-center"><a href="/aiminminai/archives/"><div class="headline">Articles</div><div class="length-num">29</div></a><a href="/aiminminai/tags/"><div class="headline">Tags</div><div class="length-num">47</div></a><a href="/aiminminai/categories/"><div class="headline">Categories</div><div class="length-num">42</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://gitee.com/aiminminai"><i class="Gitee"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="mailto:min221forever@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a><a class="social-icon" href="https://github.com/YWMHHBAIminminAI" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="https://blog.csdn.net/m0_52436398?type=blog" target="_blank" title="CSDN"><i class="fa fa-book-open"></i></a><a class="social-icon" href="https://gitee.com/aiminminai" target="_blank" title="Gitee"><i class="fa fa-g"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>Announcement</span></div><div class="announcement_content"><b><font color="#e66b6d">掬</font> <font color="#e66d98">水</font> <font color="#e66cc6">月</font> <font color="#cc6de6">在</font> <font        color="#9770e6">手</font> <font color="#6d93e6">，</font> <font color="#6fcde6">弄</font> <font color="#72e6b6">花</font> <font color="#72e689">香</font> <font color="#99e670">满</font> <font color="#cde670">衣</font> <p align="center"><img src="https://haiyong.site/img/img-blog.csdnimg.cn/f7384c88956d4378b72e47548e19c9f8.gif" width="50" alt="mao"></p> <p align="center">微信号：phone_15902953075</p> <p align="center">QQ号：1317957931</p></div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>Recent Post</span></div><div class="aside-list"><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/aiminminai/2024/03/28/%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E6%80%BB%E7%BB%93%E4%B9%8BC-%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AA%E4%B8%8A%E4%BD%8D%E6%9C%BA%E9%A1%B5%E9%9D%A2%EF%BC%8C%E8%BD%AF%E4%BB%B6%E5%8D%A1%E6%AD%BB%E4%BA%86%EF%BC%9F%EF%BC%9F%EF%BC%9F/" title="项目开发总结之C#写了一个上位机页面，软件卡死了？？？">项目开发总结之C#写了一个上位机页面，软件卡死了？？？</a><time datetime="2024-03-28T15:41:40.000Z" title="Created 2024-03-28 23:41:40">2024-03-28</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/aiminminai/2024/03/27/Golang-web-http%E6%A1%86%E6%9E%B6/" title="Golang-web/http框架">Golang-web/http框架</a><time datetime="2024-03-27T15:27:12.000Z" title="Created 2024-03-27 23:27:12">2024-03-27</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/aiminminai/2024/03/24/Golang-%E7%BB%83%E5%9F%BA%E6%9C%AC%E5%8A%9F%EF%BC%9A%E6%89%8E%E9%A9%AC%E6%AD%A5%E3%80%81%E7%BB%83%E6%8A%95%E7%AF%AE/" title="Golang-练基本功：扎马步、练投篮、练运球">Golang-练基本功：扎马步、练投篮、练运球</a><time datetime="2024-03-24T15:42:23.000Z" title="Created 2024-03-24 23:42:23">2024-03-24</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/aiminminai/2024/03/15/%E8%83%BD%E4%B8%8D%E8%83%BD%E7%BB%99%E5%88%AB%E4%BA%BA%E4%B8%80%E4%B8%AA%E4%B8%8A%E6%89%8B%E5%B0%B1%E8%83%BD%E7%9C%8B%E6%87%82%E5%B0%B1%E8%83%BD%E7%94%A8%E7%9A%84%E4%B8%89%E5%B1%82%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%EF%BC%88%E4%BB%A3%E7%A0%81%EF%BC%89%E6%A8%A1%E5%9E%8B%E5%91%A2%EF%BC%9F/" title="能不能给别人一个上手就能看懂就能用的三层神经网络（代码）模型呢？">能不能给别人一个上手就能看懂就能用的三层神经网络（代码）模型呢？</a><time datetime="2024-03-14T16:23:21.000Z" title="Created 2024-03-15 00:23:21">2024-03-15</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/aiminminai/2024/02/28/%E6%89%93%E7%A0%B4%E7%A0%82%E9%94%85%E9%97%AE-WPF%E5%8E%9F%E7%90%86-03-WPF%E6%A0%B7%E5%BC%8F%E8%AE%BE%E7%BD%AE%E5%92%8C%E6%A8%A1%E6%9D%BF%E5%8C%96%E3%80%81%E5%86%85%E8%81%94%E6%A0%B7%E5%BC%8F%E5%92%8C%E6%A8%A1%E6%9D%BF/" title="打破砂锅问-WPF原理-03-WPF样式设置和模板化、内联样式和模板">打破砂锅问-WPF原理-03-WPF样式设置和模板化、内联样式和模板</a><time datetime="2024-02-28T15:10:28.000Z" title="Created 2024-02-28 23:10:28">2024-02-28</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
            <i class="fas fa-folder-open"></i>
            <span>Categories</span>
            <a class="card-more-btn" href="/aiminminai/categories/" title="More">
    <i class="fas fa-angle-right"></i></a>
            </div>
            <ul class="card-category-list" id="aside-cat-list">
            <li class="card-category-list-item "><a class="card-category-list-link" href="/aiminminai/categories/C/"><span class="card-category-list-name">C#</span><span class="card-category-list-count">9</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/aiminminai/categories/C/%E6%80%BB%E7%BB%93%E3%80%81%E7%BB%8F%E9%AA%8C%E3%80%81%E9%99%B7%E9%98%B1/"><span class="card-category-list-name">总结、经验、陷阱</span><span class="card-category-list-count">7</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/aiminminai/categories/C/%E6%80%BB%E7%BB%93%E3%80%81%E7%BB%8F%E9%AA%8C%E3%80%81%E9%99%B7%E9%98%B1/Code-Snippet/"><span class="card-category-list-name">Code Snippet</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/aiminminai/categories/C/%E6%80%BB%E7%BB%93%E3%80%81%E7%BB%8F%E9%AA%8C%E3%80%81%E9%99%B7%E9%98%B1/%E6%96%87%E4%BB%B6-%E6%B5%81/"><span class="card-category-list-name">文件(流)</span><span class="card-category-list-count">1</span></a></li></ul></li><li class="card-category-list-item "><a class="card-category-list-link" href="/aiminminai/categories/C/%E9%AB%98%E9%A2%91%E8%AF%AD%E6%B3%95/"><span class="card-category-list-name">高频语法</span><span class="card-category-list-count">2</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/aiminminai/categories/C/%E9%AB%98%E9%A2%91%E8%AF%AD%E6%B3%95/%E5%A7%94%E6%89%98%E3%80%81%E4%BA%8B%E4%BB%B6%E3%80%81%E5%85%83%E7%A5%96%E3%80%81%E5%AD%97%E7%AC%A6%E4%B8%B2%E3%80%81%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/"><span class="card-category-list-name">委托、事件、元祖、字符串、正则表达式</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/aiminminai/categories/C/%E9%AB%98%E9%A2%91%E8%AF%AD%E6%B3%95/%E9%9B%86%E5%90%88%E3%80%81%E5%A4%9A%E7%BA%BF%E7%A8%8B%E3%80%81%E5%8F%8D%E5%B0%84%E3%80%81%E7%A8%8B%E5%BA%8F%E9%9B%86%E3%80%81%E7%89%B9%E6%80%A7/"><span class="card-category-list-name">集合、多线程、反射、程序集、特性</span><span class="card-category-list-count">1</span></a></li></ul></li></ul></li><li class="card-category-list-item "><a class="card-category-list-link" href="/aiminminai/categories/Golang/"><span class="card-category-list-name">Golang</span><span class="card-category-list-count">2</span></a></li>
            </ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>Tags</span></div><div class="card-tag-cloud"><a href="/aiminminai/tags/%E5%86%85%E8%81%94%E6%A0%B7%E5%BC%8F%E5%92%8C%E6%A8%A1%E6%9D%BF-Inline-styles-and-templates/" style="font-size: 1.1em; color: #999">内联样式和模板 Inline styles and templates</a> <a href="/aiminminai/tags/%E4%B8%89%E5%B1%82IT%E6%8A%80%E6%9C%AF%E6%A0%88%E6%9E%B6%E6%9E%84/" style="font-size: 1.1em; color: #999">三层IT技术栈架构</a> <a href="/aiminminai/tags/Windows-Presentation-Foundation-WPF-%E6%A0%B7%E5%BC%8F%E8%AE%BE%E7%BD%AE%E5%92%8C%E6%A8%A1%E6%9D%BF%E5%8C%96/" style="font-size: 1.1em; color: #999">Windows Presentation Foundation (WPF) 样式设置和模板化</a> <a href="/aiminminai/tags/%E8%B7%AF%E7%94%B1%E3%80%81%E4%BA%8B%E4%BB%B6/" style="font-size: 1.1em; color: #999">路由、事件</a> <a href="/aiminminai/tags/%E4%B8%89%E5%B1%82%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E6%A8%A1%E5%9E%8B/" style="font-size: 1.1em; color: #999">三层神经网络模型</a> <a href="/aiminminai/tags/C-%E6%8E%A7%E4%BB%B6%E8%A6%81%E6%98%BE%E7%A4%BA%E5%A5%87%E6%80%AA%E7%9A%84%E4%B8%9C%E8%A5%BF-Combox-SelectedValue/" style="font-size: 1.1em; color: #999">C#控件要显示奇怪的东西 - Combox.SelectedValue</a> <a href="/aiminminai/tags/%E5%B7%A5%E5%8E%82%E6%A8%A1%E5%BC%8F/" style="font-size: 1.1em; color: #999">工厂模式</a> <a href="/aiminminai/tags/%E7%BC%96%E7%A8%8B%E7%BB%8F%E9%AA%8C%E6%80%BB%E7%BB%93/" style="font-size: 1.4em; color: #99a5b6">编程经验总结</a> <a href="/aiminminai/tags/%E7%89%B9%E6%80%A7/" style="font-size: 1.1em; color: #999">特性</a> <a href="/aiminminai/tags/%E5%85%83%E7%A5%96/" style="font-size: 1.1em; color: #999">元祖</a> <a href="/aiminminai/tags/%E4%BA%8B%E4%BB%B6/" style="font-size: 1.1em; color: #999">事件</a> <a href="/aiminminai/tags/WPF%E5%8E%9F%E7%90%86/" style="font-size: 1.1em; color: #999">WPF原理</a> <a href="/aiminminai/tags/%E5%86%99%E4%BB%A3%E7%A0%81%E5%B8%B8%E5%B8%B8%E6%9C%89%E5%8F%AF%E8%83%BD%E5%87%BA%E7%8E%B0%E7%9A%84%E9%99%B7%E9%98%B1/" style="font-size: 1.3em; color: #99a1ac">写代码常常有可能出现的陷阱</a> <a href="/aiminminai/tags/%E5%A4%9A%E7%BA%BF%E7%A8%8B/" style="font-size: 1.1em; color: #999">多线程</a> <a href="/aiminminai/tags/%E6%96%87%E4%BB%B6/" style="font-size: 1.1em; color: #999">文件</a> <a href="/aiminminai/tags/ICommand/" style="font-size: 1.2em; color: #999da3">ICommand</a> <a href="/aiminminai/tags/%E6%B8%B2%E6%9F%93%E7%AE%A1%E7%BA%BF-LOD-%E9%81%AE%E6%8C%A1%E5%89%94-%E5%85%89%E7%85%A7-%E5%A3%B0%E9%9F%B3/" style="font-size: 1.1em; color: #999">渲染管线 - LOD - 遮挡剔 - 光照 - 声音</a> <a href="/aiminminai/tags/CS5720%E8%8A%AF%E7%89%87%E5%BC%80%E5%8F%91%E8%BF%87%E7%A8%8B%E4%B8%AD%E7%9A%84%E4%BC%98%E5%8C%96%E7%82%B9%E3%80%90gitee%E9%87%8C%E9%9D%A2%E6%9C%89%E7%AC%94%E8%AE%B0%EF%BC%8C%E5%8F%AF%E4%BB%A5%E5%8F%82%E8%80%83%E3%80%91/" style="font-size: 1.1em; color: #999">CS5720芯片开发过程中的优化点【gitee里面有笔记，可以参考】</a> <a href="/aiminminai/tags/%E4%B8%80%E8%88%AC%E7%9A%84-Windows-Presentation-Foundation-WPF-%E7%BC%96%E7%A8%8B%E6%A8%A1%E5%9E%8B%E5%8E%9F%E5%88%99-%E5%B0%86%E4%BB%A3%E7%A0%81%E4%B8%AD%E7%9A%84%E7%A8%8B%E5%BA%8F%E9%80%BB%E8%BE%91%E4%B8%8E%E6%A0%87%E8%AE%B0%E4%B8%AD%E7%9A%84%E8%AE%BE%E8%AE%A1%E5%88%86%E7%A6%BB/" style="font-size: 1.1em; color: #999">一般的 Windows Presentation Foundation (WPF) 编程模型原则:将代码中的程序逻辑与标记中的设计分离</a> <a href="/aiminminai/tags/%E5%AD%97%E7%AC%A6%E4%B8%B2/" style="font-size: 1.1em; color: #999">字符串</a> <a href="/aiminminai/tags/%E6%96%87%E4%BB%B6%E6%B5%81/" style="font-size: 1.1em; color: #999">文件流</a> <a href="/aiminminai/tags/%E9%9B%86%E5%90%88/" style="font-size: 1.1em; color: #999">集合</a> <a href="/aiminminai/tags/%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E7%BB%8F%E9%AA%8C%E6%80%BB%E7%BB%93/" style="font-size: 1.3em; color: #99a1ac">项目开发经验总结</a> <a href="/aiminminai/tags/INotifyPropertyChanged/" style="font-size: 1.2em; color: #999da3">INotifyPropertyChanged</a> <a href="/aiminminai/tags/XAML-in-WPF/" style="font-size: 1.1em; color: #999">XAML in WPF</a> <a href="/aiminminai/tags/%E5%A7%94%E6%89%98/" style="font-size: 1.1em; color: #999">委托</a> <a href="/aiminminai/tags/%E7%A8%8B%E5%BA%8F%E9%9B%86/" style="font-size: 1.1em; color: #999">程序集</a> <a href="/aiminminai/tags/%E9%B8%BF%E8%92%99%E5%BC%80%E5%8F%91%EF%BC%8C%E9%83%BD%E8%A6%81%E5%BC%80%E5%8F%91%E5%95%A5%E5%91%80-%E5%A6%82%E4%BD%95%E5%BC%80%E5%8F%91%EF%BC%8C%E8%A6%81%E5%AD%A6%E5%93%AA%E4%BA%9B%E4%B8%9C%E8%A5%BF-%E9%B8%BF%E8%92%99%E5%BC%80%E5%8F%91%E7%9B%B8%E5%85%B3%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/" style="font-size: 1.2em; color: #999da3">鸿蒙开发，都要开发啥呀 - 如何开发，要学哪些东西 - 鸿蒙开发相关的基础知识</a> <a href="/aiminminai/tags/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/" style="font-size: 1.1em; color: #999">正则表达式</a> <a href="/aiminminai/tags/C-%E4%B8%8A%E4%BD%8D%E6%9C%BA%E8%BD%AF%E4%BB%B6-%E4%B8%8A%E4%BD%8D%E6%9C%BA%E9%A1%B5%E9%9D%A2%EF%BC%8C%E8%BD%AF%E4%BB%B6%E5%8D%A1%E6%AD%BB%E4%BA%86%EF%BC%9F%EF%BC%9F%EF%BC%9F/" style="font-size: 1.1em; color: #999">C#上位机软件 - 上位机页面，软件卡死了？？？</a> <a href="/aiminminai/tags/%E5%8F%8D%E5%B0%84/" style="font-size: 1.1em; color: #999">反射</a> <a href="/aiminminai/tags/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/" style="font-size: 1.3em; color: #99a1ac">设计模式</a> <a href="/aiminminai/tags/VS%E5%B7%A5%E5%85%B7%E3%80%81%E6%8F%92%E4%BB%B6%E7%9A%84%E4%BD%BF%E7%94%A8/" style="font-size: 1.3em; color: #99a1ac">VS工具、插件的使用</a> <a href="/aiminminai/tags/%E5%91%BD%E5%90%8D%E6%9C%89%E6%84%8F%E4%B9%89/" style="font-size: 1.1em; color: #999">命名有意义</a> <a href="/aiminminai/tags/WPF-%E4%B8%AD%E7%9A%84-XAML/" style="font-size: 1.1em; color: #999">WPF 中的 XAML</a> <a href="/aiminminai/tags/%E9%AB%98%E9%A2%91%E8%AF%AD%E6%B3%95/" style="font-size: 1.2em; color: #999da3">高频语法</a> <a href="/aiminminai/tags/%E9%99%B7%E9%98%B1/" style="font-size: 1.1em; color: #999">陷阱</a> <a href="/aiminminai/tags/C/" style="font-size: 1.5em; color: #99a9bf">C#</a> <a href="/aiminminai/tags/%E5%86%99%E5%B9%B2%E5%87%80%E4%BB%A3%E7%A0%81%E7%9A%84%E6%96%B9%E6%B3%95%E4%B8%8D%E6%AD%A2%E4%B8%80%E7%A7%8D/" style="font-size: 1.2em; color: #999da3">写干净代码的方法不止一种</a> <a href="/aiminminai/tags/%E4%BB%A3%E7%A0%81%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83/" style="font-size: 1.1em; color: #999">代码命名规范</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>Archives</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/aiminminai/archives/2024/03/"><span class="card-archive-list-date">March 2024</span><span class="card-archive-list-count">4</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/aiminminai/archives/2024/02/"><span class="card-archive-list-date">February 2024</span><span class="card-archive-list-count">4</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/aiminminai/archives/2023/12/"><span class="card-archive-list-date">December 2023</span><span class="card-archive-list-count">4</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/aiminminai/archives/2023/11/"><span class="card-archive-list-date">November 2023</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/aiminminai/archives/2023/10/"><span class="card-archive-list-date">October 2023</span><span class="card-archive-list-count">5</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/aiminminai/archives/2023/09/"><span class="card-archive-list-date">September 2023</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/aiminminai/archives/2023/08/"><span class="card-archive-list-date">August 2023</span><span class="card-archive-list-count">9</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>Info</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">Article :</div><div class="item-count">29</div></div><div class="webinfo-item"><div class="item-name">Run time :</div><div class="item-count" id="runtimeshow" data-publishDate="2020-01-09T16:00:00.000Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">UV :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">PV :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">Last Push :</div><div class="item-count" id="last-push-date" data-lastPushDate="2024-03-28T15:54:04.024Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">&copy;2020 - 2024 By Hu hb</div><div class="framework-info"><span>Framework </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>Theme </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="Switch Between Light And Dark Mode"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="Toggle between single-column and double-column"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="Setting"><i class="fas fa-cog fa-spin"></i></button><button id="chat-btn" type="button" title="Chat"><i class="fas fa-sms"></i></button><button id="go-up" type="button" title="Back To Top"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/aiminminai/js/utils.js"></script><script src="/aiminminai/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.umd.min.js"></script><div class="js-pjax"></div><script id="canvas_nest" defer="defer" color="0,0,255" opacity="0.7" zIndex="-1" count="99" mobile="false" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/canvas-nest.min.js"></script><script id="click-heart" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/click-heart.min.js" async="async" mobile="false"></script><script>(() => {
  const isChatBtn = true
  const isChatHideShow = true

  if (isChatBtn) {
    const close = () => {
      Chatra('minimizeWidget')
      Chatra('hide')
    }

    const open = () => {
      Chatra('openChat', true)
      Chatra('show')
    }

    window.ChatraSetup = {
      startHidden: true
    }
  
    window.chatBtnFn = () => {
      const isShow = document.getElementById('chatra').classList.contains('chatra--expanded')
      isShow ? close() : open()
    }
  } else if (isChatHideShow) {
    window.chatBtn = {
      hide: () => {
        Chatra('hide')
      },
      show: () => {
        Chatra('show')
      }
    }
  }

  (function(d, w, c) {
    w.ChatraID = 't3Zijv5iKg5Z5HT6v'
    var s = d.createElement('script')
    w[c] = w[c] || function() {
        (w[c].q = w[c].q || []).push(arguments)
    }
    s.async = true
    s.src = 'https://call.chatra.io/chatra.js'
    if (d.head) d.head.appendChild(s)
  })(document, window, 'Chatra')

})()</script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>